package com.mazaiting.widget.fragment;

import android.app.Dialog;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.BaseDialogFragment;
import com.mazaiting.widget.R;
import com.wang.avi.AVLoadingIndicatorView;

/**
 * 对话框Fragment
 *
 * @author mazaiting
 * @date 2018/3/9
 */

public class LoadingDialogFragment extends BaseDialogFragment {

    /**
     * 显示文字
     */
    private TextView mTextView;

    /**
     * 进度条指示器
     */
    private AVLoadingIndicatorView mLoading;

    /**
     * 进度条提示文字
     */
    private String mTip = "正在加载中...";

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        Dialog dialog = getDialog();
        // 请求无标题
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        // 设置点击外部不可关闭对话框
        dialog.setCanceledOnTouchOutside(false);
        // 设置对话框背景透明
//        if (null != dialog.getWindow()) {
//            dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
//        }
        // 加载布局
        View view = inflater.inflate(R.layout.fragment_loading, container, false);
        // 获取文字布局
        mTextView = view.findViewById(R.id.fragment_loading_tv_content);
        // 获取进度条
        mLoading = view.findViewById(R.id.fragment_loading_avi);
        // 初始化 TextView
        initTextView();
        return view;
    }

    /**
     * 初始化 TextView
     */
    private void initTextView() {
        // 设置文字
        mTextView.setText(mTip);
    }

    /**
     * 设置文本
     * @param tip 文本
     */
    public void setText(String tip) {
        if (!TextUtils.isEmpty(tip)) {
            mTip = tip;
        }
    }

    /**
     * 获取显示文字视图
     * @return TextView
     */
    public TextView getTextView() {
        return mTextView;
    }

    /**
     * 获取进度条视图
     * @return 进度条指示器
     */
    public AVLoadingIndicatorView getLoading() {
        return mLoading;
    }
}
